package ru.simplemaps.map.provider;

import ru.simplemaps.map.elements.MapElement;
import ru.simplemaps.osmapi.common.BBox;

import java.util.Collection;

/**
 * Умеет загружать данные об одном типе элементов
 *
 * @author enaku_adm
 * @since 29.07.2010 16:46:14
 */
public interface MapElementProvider<T extends MapElement> {
    /**
     * Загружает информацию об элементах карты
     *
     * @param box область, для которой необходимо загрузить информацию (эта область довольно маленькая)
     * @return коллекция загруженных элементов
     * @throws Exception если произошла любая ошибка в процессе загрузки информации
     */
    Collection<T> load(BBox box) throws Exception;
}
